#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <stdint.h>
#include <unistd.h>

#include "lcd_dev.h"
#include "lcd_drv.h"
#include "key.h"
#include "wnd.h"

// void lcd_test(void)
// {
//     time_t timep;
//     struct tm *p;
//     char str[64];

//     lcd_init();

//     // display_ascii_str64(0, 0, "Hello World!...\0", LCD_COLOR_BLACK, LCD_COLOR_RED);
//     // display_ascii_str64(0, 64, "012345678901234\0", LCD_COLOR_BLACK, LCD_COLOR_RED);
//     // display_ascii_str64(0, 128, "~!@#$%^&*(){\"\\}\0", LCD_COLOR_BLACK, LCD_COLOR_RED);


//     while (1) {
//         // Get current date and time to time value
//         time(&timep);
//         p = localtime(&timep);
//         // Display time
//         sprintf(str, "Time: %02d:%02d:%02d", p->tm_hour, p->tm_min, p->tm_sec);
//         lcd_printf(0, 0, str);
//         sleep(1);
//     }
// }

void CmdDefaultProcess(int dwParam, char *pbName)
{
    lcd_clear(LCD_BACK_COLOR);
    lcd_put_str16(0, 1, pbName, LCD_DISPLAY_NORMAL);
    sleep(1);
    printf("The Command ID is : %d, Name : %s\n\n", dwParam, pbName);
}

void SpinValue(int *value, int min, int max, int dir)
{
    if (dir) {	//add
        (*value == max) ? (*value = min) : (++ *value);
    } else {
        (*value == min) ? (*value = max) : (-- *value);
    }
}

int main(int argc, char *argv[])
{
    lcd_init();
    // gui_icon_test();
    // exit(0);
    lcd_clear(LCD_BACK_COLOR);
    while (1) {
        DefWndProc();
    }
    return 0;
}
